-- DSS queries

-- dss_select_01
-- uses: tenpct
-- might use index on: tenpct.t_key
-- returns 1 row, answer is "999999"

select count(t_key)
	from tenpct
	where t_key <> 0;
count
-----
 9999
(1 row)


----------

-- dss_select_02
-- uses: uniques
-- might use index on: uniques.u_key
-- returns 1 row, answer is "0"

select min(u_key)
	from uniques;
min
---
  0
(1 row)


----------

-- dss_select_03
-- uses: hundred
-- might use index on: hundred.h_key, hundred.h_name
-- returns 100 rows

select max(h_key)
	from hundred
	group by h_name
	order by 1;
  max
-----
 9724
 9756
 9775
 9778
 9793
 9809
 9819
 9821
 9822
 9825
 9827
 9830
 9839
 9840
 9841
 9842
 9843
 9851
 9853
 9854
 9858
 9861
 9862
 9863
 9865
 9866
 9871
 9872
 9873
 9877
 9880
 9882
 9892
 9893
 9899
 9902
 9903
 9905
 9907
 9908
 9909
 9910
 9912
 9914
 9915
 9917
 9919
 9924
 9926
 9927
 9928
 9930
 9932
 9933
 9934
 9936
 9943
 9945
 9947
 9948
 9949
 9952
 9953
 9954
 9955
 9960
 9962
 9963
 9964
 9965
 9966
 9967
 9968
 9970
 9971
 9973
 9974
 9975
 9976
 9977
 9978
 9979
 9980
 9982
 9983
 9985
 9986
 9987
 9988
 9989
 9991
 9992
 9993
 9994
 9995
 9996
 9997
 9998
 9999
10000
(100 rows)


----------

-- dss_select_04
-- uses: tenpct
-- might use index on: tenpct.t_name, tenpct.t_int, tenpct.t_signed, tenpct.t_float, tenpct.t_double, tenpct.t_decim
-- returns 1 row, answer is "0"

select count(t_key)
	from tenpct
	where t_name = 'THE+ASAP+BENCHMARKS+'
		and t_int <= 100000000
		and t_signed between 1 and 99999999
		and not (t_float between -450000000 and 450000000)
		and t_double > 600000000
		and t_decim < -600000000;
count
-----
    0
(1 row)


----------

-- dss_select_05
-- uses: updates, hundred
-- might use index on: updates.p_key, updates.p_decim, hundred.h_key
-- returns 1 row, answer is "995000995"

select avg(updates.p_decim)
	from updates
	where updates.p_key in
		(select updates.p_key
		from updates, hundred
		where hundred.h_key = updates.p_key
		and updates.p_decim > 990000000);
ERROR:  overflow on numeric ABS(value) >= 10^-1 for field with precision 0 scale 1723

----------

-- dss_select_06
-- uses: reportview
-- might use index on: reportview.r_decim (updates.p_decim), reportview.r_code (hundred.h_code), reportview.r_int (hundred.h_int) (last two are unlikely, a simple row scan is a better choice)
-- returns 10,000 rows

select avg(r_signed), min(r_signed), max(r_signed), min(r_date), max(r_date), count(distinct r_name), count(r_name)
	from reportview
	where r_decim > 980000000
	group by r_code, r_int
	order by 1;
ERROR:  parser: parse error at or near "distinct"

----------

-- dss_select_08
-- uses: reportview
-- might use index on: reportview.r_decim (updates.p_decim)
-- returns 1 row

select min(r_signed), max(r_signed), min(r_date), max(r_date), count(distinct r_name), count(r_name), count(r_code), count(r_int)
	from reportview
	where r_decim > 900000000;
ERROR:  parser: parse error at or near "distinct"

-- dss_select_09
-- uses: hundred
-- might use index on: hundred.h_name
-- returns 100 rows, all counts are "10000"

select h_name, count(h_name)
	from hundred
	group by h_name
	order by 2;
h_name              |count
--------------------+-----
 6ktHMlhanS0n4y1cTFy|  100
0Cuqv5YHapty5XjTYeUQ|  100
0nl8d7NNRjkgc6KoeaRB|  100
10iM4 9rIz1KD2O1I4Ax|  100
1Pr9N9JLx9D68VnA7aeg|  100
2MwdN0x526oj2zTWeShn|  100
2c:v:zcxJdW2Vus4YWk4|  100
2xnr32mCnXfxa9vQPoe8|  100
3J2HnvEo 3YvX50MlEKu|  100
4bPeuYKXigai9  t24W0|  100
5WywFXVRWLj0z18zPA0j|  100
5mbIXWAmfRRmuV5:ef6y|  100
6T61fSdd2kTgw8EpWS6q|  100
6jgnxRo6jq5yQzdvlxa |  100
87:N7qBywYOxu pscbqM|  100
8tiaPpMsE9Xjp1NXWft3|  100
9qnEpk0dj6cVL8uo7xwC|  100
:FwWAJf7xCKHGzSTs3zR|  100
AXu4GdgJIkHSGdFGqXmg|  100
An6oYcrDxPQEB8DME4pv|  100
BBWp:aE9DYCDfEqJ3F:c|  100
Bx:br:pYs8LV :opqkcR|  100
CLYcX7CT:G7udg1mhuR9|  100
Ce5PJBA5jo40b7s4UgRG|  100
D8gzIy29RlrS1e iCKyU|  100
DTpl1xgzarZEV:7oxO2D|  100
E7r8SuEo3:vVTAIQC6Na|  100
EiImbvZTnZmDzFkKoYKr|  100
FsK:zSyIIihUxhUNZG7n|  100
G0bi5m3oJsdfJAypJBhS|  100
GEYVKnQu2m1SOFZJv6DD|  100
HO1IdkpjW1VDnhemALW |  100
HeD2UJ0dfA9VHcCsvPZO|  100
HzRWrlepivnRsmFgmhTQ|  100
IWrRgDSOXERu:aHoQgaf|  100
JlKSMcgJENetChTKHqPs|  100
KvMFf:e9 3:DbI8Nt8cO|  100
LE AwUk2W96ovkJ vGmL|  100
MR5pOx29NONtWiNm0C3A|  100
N39chuZTj6IevJyOFro6|  100
NLGYNNwbWLCLqp1yHhcp|  100
OVILgKUwR074oQf2tvUl|  100
OlR7Xk qaaGOjLDAiZX0|  100
P K98itlnIYnMsP79dHH|  100
PyOmQmQuxPxtKJHNMVhP|  100
QsYvPCLW MmLeQUZ0ZN7|  100
R41ii JL22h5cs:4FiA0|  100
RRD1Z:UFJbPO6M7c1mDj|  100
THE+ASAP+BENCHMARKS+|  100
TYKsRXAmjoVLyRO2MMZm|  100
ToTeDWLgXT87SMnABr52|  100
UCnfkU:AE5Q5wtz7y1mI|  100
UnetyVuGwWHK3y1XDWjZ|  100
UyVx3uk2SczOroXDn:pX|  100
W:5OTMwbSp:LmtI4::f2|  100
WJu5BNlheJwZrykWK2cm|  100
XTwP0KJ4:XrKPZUzwjvi|  100
Xj:BmJUwN705kUt:KNyx|  100
ZFpLVBLW3qImaUC7RsrJ|  100
ZqgZDCA5nK ZfZeX6No1|  100
a1pXhHYyeL6gk 9QjFj:|  100
aqyJzGDSSrFYE16W7Jmo|  100
b005recHo bJd4Hzjy9k|  100
bERK fxn ZyxibJtUT32|  100
cMiTC90SAeuH10MvEOfA|  100
cuegQ15JW5wB5Cvfx4fY|  100
dbBUj5NNNMGG8Azs3yUN|  100
elDHB0mCj2BX4cDUhGHk|  100
f1wCSPs: 7 BQepGJprh|  100
gHTrlRddxNqGscttolA5|  100
hB70ki8f Kf:lja 3phK|  100
iL nCF501zaqJKKcH7ZG|  100
ibI uEHUj:jcEFji4B6V|  100
jVBA2d2pwH2AimvftLMd|  100
joFonGYyapZGgDnUA8ml|  100
k7yj848UxRxr0fYGdGwi|  100
kiPxm6t1ImO::k0AOctz|  100
lH14wZ5JSaScYGdJOUIE|  100
lsRkE1RPe1Jq7LED0qFV|  100
m4T65yqE IEb4npgF9yR|  100
nOBuosIqsny:tLucbv9H|  100
neKgarTkAtARoGSiVzBx|  100
oYDhGPhfN3tqRn9fMdRe|  100
od2UUQ4K:VK8Wsa:X9ov|  100
ooMzyOs:3b3cMi6KbHUt|  100
pCg09nF0IkobqOjHyreA|  100
qvTQqh8f3oB hnoDTHKW|  100
r:VDIE50W55qFOYg:V6S|  100
rJnRWFRaIxT8KT0AKR0D|  100
t3FNs4t1EPl 2oifg1wf|  100
tg62a6iAWJcNATJ:rwtw|  100
uFiAKZRPa8gQZPSHRIjB|  100
v RJJqMsI22ItW T:MPP|  100
vv132pXmxAD2NR8ZTrS9|  100
wMpycs7V KLNUUDAej:E|  100
wcykurIqoQU pPcgYncu|  100
x4BTtHDSWNJyIWpSgRIc|  100
y3MY6enBAcn2Bty2ge9n|  100
ygeGLfcHs4EjhyZvR 28|  100
ztbvehtljmvNIw7BW3KT|  100
(100 rows)


----------

-- dss_select_10
-- uses: hundred
-- might use index on: hundred.h_name
-- returns 100 rows

select h_name
	from hundred
	group by h_name
	having count(h_name) > 10
	order by h_name;
h_name              
--------------------
 6ktHMlhanS0n4y1cTFy
0Cuqv5YHapty5XjTYeUQ
0nl8d7NNRjkgc6KoeaRB
10iM4 9rIz1KD2O1I4Ax
1Pr9N9JLx9D68VnA7aeg
2MwdN0x526oj2zTWeShn
2c:v:zcxJdW2Vus4YWk4
2xnr32mCnXfxa9vQPoe8
3J2HnvEo 3YvX50MlEKu
4bPeuYKXigai9  t24W0
5WywFXVRWLj0z18zPA0j
5mbIXWAmfRRmuV5:ef6y
6T61fSdd2kTgw8EpWS6q
6jgnxRo6jq5yQzdvlxa 
87:N7qBywYOxu pscbqM
8tiaPpMsE9Xjp1NXWft3
9qnEpk0dj6cVL8uo7xwC
:FwWAJf7xCKHGzSTs3zR
AXu4GdgJIkHSGdFGqXmg
An6oYcrDxPQEB8DME4pv
BBWp:aE9DYCDfEqJ3F:c
Bx:br:pYs8LV :opqkcR
CLYcX7CT:G7udg1mhuR9
Ce5PJBA5jo40b7s4UgRG
D8gzIy29RlrS1e iCKyU
DTpl1xgzarZEV:7oxO2D
E7r8SuEo3:vVTAIQC6Na
EiImbvZTnZmDzFkKoYKr
FsK:zSyIIihUxhUNZG7n
G0bi5m3oJsdfJAypJBhS
GEYVKnQu2m1SOFZJv6DD
HO1IdkpjW1VDnhemALW 
HeD2UJ0dfA9VHcCsvPZO
HzRWrlepivnRsmFgmhTQ
IWrRgDSOXERu:aHoQgaf
JlKSMcgJENetChTKHqPs
KvMFf:e9 3:DbI8Nt8cO
LE AwUk2W96ovkJ vGmL
MR5pOx29NONtWiNm0C3A
N39chuZTj6IevJyOFro6
NLGYNNwbWLCLqp1yHhcp
OVILgKUwR074oQf2tvUl
OlR7Xk qaaGOjLDAiZX0
P K98itlnIYnMsP79dHH
PyOmQmQuxPxtKJHNMVhP
QsYvPCLW MmLeQUZ0ZN7
R41ii JL22h5cs:4FiA0
RRD1Z:UFJbPO6M7c1mDj
THE+ASAP+BENCHMARKS+
TYKsRXAmjoVLyRO2MMZm
ToTeDWLgXT87SMnABr52
UCnfkU:AE5Q5wtz7y1mI
UnetyVuGwWHK3y1XDWjZ
UyVx3uk2SczOroXDn:pX
W:5OTMwbSp:LmtI4::f2
WJu5BNlheJwZrykWK2cm
XTwP0KJ4:XrKPZUzwjvi
Xj:BmJUwN705kUt:KNyx
ZFpLVBLW3qImaUC7RsrJ
ZqgZDCA5nK ZfZeX6No1
a1pXhHYyeL6gk 9QjFj:
aqyJzGDSSrFYE16W7Jmo
b005recHo bJd4Hzjy9k
bERK fxn ZyxibJtUT32
cMiTC90SAeuH10MvEOfA
cuegQ15JW5wB5Cvfx4fY
dbBUj5NNNMGG8Azs3yUN
elDHB0mCj2BX4cDUhGHk
f1wCSPs: 7 BQepGJprh
gHTrlRddxNqGscttolA5
hB70ki8f Kf:lja 3phK
iL nCF501zaqJKKcH7ZG
ibI uEHUj:jcEFji4B6V
jVBA2d2pwH2AimvftLMd
joFonGYyapZGgDnUA8ml
k7yj848UxRxr0fYGdGwi
kiPxm6t1ImO::k0AOctz
lH14wZ5JSaScYGdJOUIE
lsRkE1RPe1Jq7LED0qFV
m4T65yqE IEb4npgF9yR
nOBuosIqsny:tLucbv9H
neKgarTkAtARoGSiVzBx
oYDhGPhfN3tqRn9fMdRe
od2UUQ4K:VK8Wsa:X9ov
ooMzyOs:3b3cMi6KbHUt
pCg09nF0IkobqOjHyreA
qvTQqh8f3oB hnoDTHKW
r:VDIE50W55qFOYg:V6S
rJnRWFRaIxT8KT0AKR0D
t3FNs4t1EPl 2oifg1wf
tg62a6iAWJcNATJ:rwtw
uFiAKZRPa8gQZPSHRIjB
v RJJqMsI22ItW T:MPP
vv132pXmxAD2NR8ZTrS9
wMpycs7V KLNUUDAej:E
wcykurIqoQU pPcgYncu
x4BTtHDSWNJyIWpSgRIc
y3MY6enBAcn2Bty2ge9n
ygeGLfcHs4EjhyZvR 28
ztbvehtljmvNIw7BW3KT
(100 rows)


----------

-- dss_select_11
-- uses: hunthou
-- might use index on: hunthou.h_float (will need to tablescan anyway)
-- returns 1 row, answer is "50000"

select count(h_name)
	from hunthou
	where h_float >
		(select avg(h_float) from hunthou);
count
-----
 2000
(1 row)


----------

-- dss_select_12
-- uses: threemill
-- might use index on: threemill.t_signed
-- select 25% of the table
-- uses: threemill
-- might use index on: threemill.t_signed
-- returns 1 row, answer is "750000"

select count(t_key)
	from threemill
	where t_signed <= -250000000;
count
-----
 7500
(1 row)


EOF
